﻿using Habanero.BO;
using Habanero.Faces.Base;
using <<|=BOPROJECTNAME|>>;

namespace <<|=PROJECTNAME|>>
{
    public class <<|=CLASSNAME+|>>EditableGridManager : ControlManager
    {
        private IEditableGridControl _editableGridControl;

        public <<|=CLASSNAME+|>>EditableGridManager(IControlFactory controlFactory) : base(controlFactory)
        {
        }

        protected override void InitialiseControl()
        {
            SetupGrid();
            AddGridFilters();
            LoadCollection();
        }

        private void SetupGrid()
        {
            _editableGridControl = _controlFactory.CreateEditableGridControl();
            BorderLayoutManager manager = _controlFactory.CreateBorderLayoutManager(_control);
            manager.AddControl(_editableGridControl, BorderLayoutManager.Position.Centre);
        }

        private void AddGridFilters()
        {
            _editableGridControl.FilterControl.Visible = false;
            //TODO: Add the filters you want and remove the above line
        }

        private void LoadCollection()
        {
            BusinessObjectCollection<<<|=CLASSNAME|>>> <<|=#CLASSNAME+|>> = new BusinessObjectCollection<<<|=CLASSNAME|>>>();
            <<|=#CLASSNAME+|>>.LoadAll();
            _editableGridControl.SetBusinessObjectCollection(<<|=#CLASSNAME+|>>);
        }
    }
}